<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

require_once 'syncrolist.php';

class Contactos extends Syncrolist {

	public function index()
	{
		$this->browse();
	}

	public function browse()
    {   
        // Si el usuario no está loggeado lo redirijo al home
        $logueado = Usuario::getUsuarioLogueado();
        if (!$logueado->id) {
            redirect(base_url());
		}
        
        // Variables para la vista
        $data['usuario'] = new Usuario($logueado->id);
        $data['usuario']->contacto->get();
        $data['msg']     = new PwMsgHandler();
                
        // Cargo la vista
        $this->smartyview->render('contacto_browse.html',$data);
    }

    public function create()
    {
        // Si el usuario no está loggeado lo redirijo al home
        $logueado = Usuario::getUsuarioLogueado();
        if (!$logueado->id) {
            redirect(base_url());
        }

        if ($this->input->server('REQUEST_METHOD') === 'POST') {
            $usuario_id         = $this->input->post('usuario_id');
            $usuario            = new Usuario($usuario_id);
            $contacto           = new Contacto();
            $contacto->nombre   = $this->input->post('nombre');
            $contacto->telefono = $this->input->post('telefono');
            $contacto->email    = $this->input->post('email');
            $contacto->version  = time();
            $contacto->save($usuario);

            $data['msg']          = new PwMsgHandler();
            $data['msg']->success = 'Contacto creado correctamente';
            $data['msg']->persistSuccess();

            redirect(base_url().'contactos/browse');
        }
        
        // Variables para la vista
        $data['usuario'] = new Usuario($logueado->id);
        $data['msg']     = new PwMsgHandler();
                
        // Cargo la vista
        $this->smartyview->render('contacto_create.html',$data);
    }
    
    public function read($id)
    {
        // Si el usuario no está loggeado lo redirijo al home
        $logueado = Usuario::getUsuarioLogueado();
        if (!$logueado->id) {
            redirect(base_url());
        }

        // Variables para la vista
        $data['usuario']    = new Usuario($logueado->id);
        $data['contacto']   = new Contacto($id);
        $data['msg']        = new PwMsgHandler();
                
        // Cargo la vista
        $this->smartyview->render('contacto_read.html',$data);
    }

    public function update($id)
    {
        // Si el usuario no está loggeado lo redirijo al home
        $logueado = Usuario::getUsuarioLogueado();
        if (!$logueado->id) {
            redirect(base_url());
        }

        if ($this->input->server('REQUEST_METHOD') === 'POST') {
            $contacto_id        = $this->input->post('contacto_id');
            $contacto           = new Contacto($contacto_id);
            $contacto->nombre   = $this->input->post('nombre');
            $contacto->telefono = $this->input->post('telefono');
            $contacto->email    = $this->input->post('email');
            $contacto->version  = time();
            $contacto->save();

            $data['msg']          = new PwMsgHandler();
            $data['msg']->success = 'Contacto actualizado correctamente';
            $data['msg']->persistSuccess();

            redirect(base_url().'contactos/browse');
        }

        // Variables para la vista
        $data['usuario']  = new Usuario($logueado->id);
        $data['contacto'] = new Contacto($id);
        $data['msg']      = new PwMsgHandler();
                
        // Cargo la vista
        $this->smartyview->render('contacto_update.html',$data);
    }

    public function delete($id)
    {
        // Si el usuario no está loggeado lo redirijo al home
        $logueado = Usuario::getUsuarioLogueado();
        if (!$logueado->id) {
            redirect(base_url());
        }
        
        $contacto = new Contacto($id);
        if ($contacto->delete()) {
            $data['msg']          = new PwMsgHandler();
            $data['msg']->success = 'Contacto eliminado correctamente';
            $data['msg']->persistSuccess();

            redirect(base_url().'contactos/browse');
        }
    }

    public function __construct() {
        parent::__construct();
    } // __construct

} // class Contactos

/* End of file contactos.php */
/* Location: ./application/controllers/contactos.php */